package br.com.qualityempresa.seguranca

class Perfil {
	
	static PERFIL_ADMINISTRADOR_SISTEMA_ID = 1
	static PERFIL_ANONIMO_ID = 2
	static PERFIL_ADMINISTRADOR_ID = 3
	static PERFIL_COLABORADOR_ID = 4
	static PERFIL_NOVO_ID = 5
	
	
	String nome
	String descricao
	SortedSet regrasAcesso
	Boolean visivel = true

	static hasMany = [regrasAcesso: RegraAcesso]
	
	static fetchMode = [regrasAcesso: 'eager']
	
    static constraints = {
		nome(unique: true, blank:false, nullable:false, maxSize: 100)
		descricao(blank:false, nullable:false, maxSize: 200)
		regrasAcesso(lazy: false, joinTable:[name:"perfil_acesso_perfil", key:'perfil_id', column: 'regra_acesso_id'])
		visivel(blank: false)
    }

	static mapping = {
		sort nome: "asc"
	}
}
